import { ColumnGroupType, ColumnType } from "antd/es/table"

import { renderNullableValue } from "./venueProfitAndLoss"

const texasReport = (newFormat: (arg: string) => string): Record<string, ColumnGroupType<any> | ColumnType<any>> => ({
	texasReportReportDate: {
		key: "reportDate",
		dataIndex: "reportDate",
		width: 120,
		render: renderNullableValue("reportDate"),
		title: newFormat("report.texas_report_report_date"),
		align: "center",
		fixed: false
	},
	texasReportBetAmount: {
		key: "betAmount",
		dataIndex: "betAmount",
		width: 120,
		render: renderNullableValue("betAmount", "$"),
		title: newFormat("report.texas_report_bet_amount"),
		align: "center",
		fixed: false
	},
	texasReportValidBetAmount: {
		key: "validBetAmount",
		dataIndex: "validBetAmount",
		width: 120,
		render: renderNullableValue("validBetAmount", "$"),
		title: newFormat("report.texas_report_valid_bet_amount"),
		align: "center",
		fixed: false
	},
	texasReportPumpAmount: {
		key: "pumpAmount",
		dataIndex: "pumpAmount",
		width: 120,
		render: renderNullableValue("pumpAmount", "$"),
		title: newFormat("report.texas_report_pump_amount"),
		align: "center",
		fixed: false
	},
	texasReportPlatformPumpAmount: {
		key: "platformPumpAmount",
		dataIndex: "platformPumpAmount",
		width: 120,
		render: renderNullableValue("platformPumpAmount", "$"),
		title: newFormat("report.texas_report_platform_pump_amount"),
		align: "center",
		fixed: false
	},
	texasReportProxyPumpAmount: {
		key: "proxyPumpAmount",
		dataIndex: "proxyPumpAmount",
		width: 120,
		render: renderNullableValue("proxyPumpAmount", "$"),
		title: newFormat("report.texas_report_proxy_pump_amount"),
		align: "center",
		fixed: false
	},
	texasReportProxyPumpRatio: {
		key: "proxyPumpRatio",
		dataIndex: "proxyPumpRatio",
		width: 120,
		render: renderNullableValue("proxyPumpRatio", "", "", false, "%"),
		title: newFormat("report.texas_report_proxy_pump_ratio"),
		align: "center",
		fixed: false
	},
	texasReportServiceChargeRoundContribution: {
		key: "serviceChargeRoundContribution",
		dataIndex: "serviceChargeRoundContribution",
		width: 120,
		render: renderNullableValue("serviceChargeRoundContribution", "$"),
		title: newFormat("report.texas_report_service_charge_round_contribution"),
		align: "center",
		fixed: false
	},
	texasReportPlatformServiceChargeRoundContribution: {
		key: "platformServiceChargeRoundContribution",
		dataIndex: "platformServiceChargeRoundContribution",
		width: 120,
		render: renderNullableValue("platformServiceChargeRoundContribution", "$"),
		title: newFormat("report.texas_report_platform_service_charge_round_contribution"),
		align: "center",
		fixed: false
	},
	texasReportProxyServiceChargeRoundContribution: {
		key: "proxyServiceChargeRoundContribution",
		dataIndex: "proxyServiceChargeRoundContribution",
		width: 120,
		render: renderNullableValue("proxyServiceChargeRoundContribution", "$"),
		title: newFormat("report.texas_report_proxy_service_charge_round_contribution"),
		align: "center",
		fixed: false
	},
	texasReportProxyServiceChargeRoundContributionRate: {
		key: "proxyServiceChargeRoundContributionRate",
		dataIndex: "proxyServiceChargeRoundContributionRate",
		width: 120,
		render: renderNullableValue("proxyServiceChargeRoundContributionRate", "", "", false, "%"),
		title: newFormat("report.texas_report_proxy_service_charge_round_contribution_rate"),
		align: "center",
		fixed: false
	},
	texasReportInsureAmount: {
		key: "insureAmount",
		dataIndex: "insureAmount",
		width: 120,
		render: renderNullableValue("insureAmount", "$"),
		title: newFormat("report.texas_report_insure_amount"),
		align: "center",
		fixed: false
	},
	texasReportInsureValidBetAmount: {
		key: "insureValidBetAmount",
		dataIndex: "insureValidBetAmount",
		width: 120,
		render: renderNullableValue("insureValidBetAmount", "$"),
		title: newFormat("report.texas_report_insure_valid_bet_amount"),
		align: "center",
		fixed: false
	},
	texasReportInsureMemberNetAmount: {
		key: "insureMemberNetAmount",
		dataIndex: "insureMemberNetAmount",
		width: 120,
		render: renderNullableValue("insureMemberNetAmount", "$"),
		title: newFormat("report.texas_report_insure_member_net_amount"),
		align: "center",
		fixed: false
	},
	texasReportInsurePlatformNetAmount: {
		key: "insurePlatformNetAmount",
		dataIndex: "insurePlatformNetAmount",
		width: 120,
		render: renderNullableValue("insurePlatformNetAmount", "$"),
		title: newFormat("report.texas_report_insure_platform_net_amount"),
		align: "center",
		fixed: false
	},
	texasReportInsureProxyProportion: {
		key: "insureProxyProportion",
		dataIndex: "insureProxyProportion",
		width: 120,
		render: renderNullableValue("insureProxyProportion", "", "", false, "%"),
		title: newFormat("report.texas_report_insure_proxy_proportion"),
		align: "center",
		fixed: false
	},
	texasReportInsureWinRatio: {
		key: "insureWinRatio",
		dataIndex: "insureWinRatio",
		width: 120,
		render: renderNullableValue("insureWinRatio", "", "", false, "%"),
		title: newFormat("report.texas_report_insure_win_ratio"),
		align: "center",
		fixed: false
	},
	texasReportValueAddedTotalAmount: {
		key: "valueAddedTotalAmount",
		dataIndex: "valueAddedTotalAmount",
		width: 120,
		render: renderNullableValue("valueAddedTotalAmount", "$"),
		title: newFormat("report.texas_report_value_added_total_amount"),
		align: "center",
		fixed: false
	},
	texasReportPlatformValueAddedTotalAmount: {
		key: "platformValueAddedTotalAmount",
		dataIndex: "platformValueAddedTotalAmount",
		width: 120,
		render: renderNullableValue("platformValueAddedTotalAmount", "$"),
		title: newFormat("report.texas_report_platform_value_added_total_amount"),
		align: "center",
		fixed: false
	},
	texasReportProxyValueAddedTotalAmount: {
		key: "proxyValueAddedTotalAmount",
		dataIndex: "proxyValueAddedTotalAmount",
		width: 120,
		render: renderNullableValue("proxyValueAddedTotalAmount", "$"),
		title: newFormat("report.texas_report_proxy_value_added_total_amount"),
		align: "center",
		fixed: false
	},
	texasReportPlatformValueAddedTotalAmountAvgRate: {
		key: "platformValueAddedTotalAmountAvgRate",
		dataIndex: "platformValueAddedTotalAmountAvgRate",
		width: 120,
		render: renderNullableValue("platformValueAddedTotalAmountAvgRate", "", "", false, "%"),
		title: newFormat("report.texas_report_platform_value_added_total_amount_avg_rate"),
		align: "center",
		fixed: false
	},
	texasReportAdjustAmount: {
		key: "adjustAmount",
		dataIndex: "adjustAmount",
		width: 120,
		render: renderNullableValue("adjustAmount", "$"),
		title: newFormat("report.texas_report_adjust_amount"),
		align: "center",
		fixed: false
	},
	texasReportPlatformIncomeAmount: {
		key: "platformIncomeAmount",
		dataIndex: "platformIncomeAmount",
		width: 120,
		render: renderNullableValue("platformIncomeAmount", "$"),
		title: newFormat("report.texas_report_platform_income_amount"),
		align: "center",
		fixed: false
	}
})

export default texasReport
